"""
python中的特殊方法集合
    特殊方法不需要手动调用，只需要在特定的时候进行执行
"""
class Dog():

    def __init__(self,name,age):
        print("初始话的时候调用")
        self._name=name
        self._age=age
    def __del__(self):
        print("被删除前调用")
    # __str__方法是将这个对象转换为字符串 -print打印出来
    def __str__(self):
        print("这是print方法调用的特殊方法")
        return self._name+","+str(self._age)
    # 指定在交互模式中输出的方法
    def __repr__(self):
        print("这是在交互时候输出")
        """
        对象的比较 大于(__gt__) 小于(__lt__) 大等于(__ge__) 小等于(__le__) 等于(__eq__)
        获取对象的长度 len方法 特殊方法(__len__)
        bool方法 对象按照bool输出(__bool__),可以指定对象的转换规则
        对象的运算
            # object.__add__(self, other)
            # object.__sub__(self, other)
            # object.__mul__(self, other)
            # object.__matmul__(self, other)
            # object.__truediv__(self, other)
            # object.__floordiv__(self, other)
            # object.__mod__(self, other)
            # object.__divmod__(self, other)
            # object.__pow__(self, other[, modulo])
            # object.__lshift__(self, other)
            # object.__rshift__(self, other)
            # object.__and__(self, other)
            # object.__xor__(self, other)
            # object.__or__(self, other)
        """

dog = Dog("bob",11)
print(dog)
